// nodejs读取文件
const fs = require('fs')
const { resolve } = require('path')
const path = require('path')


// callback方式获取文件内容
// function getFileContent(fileName, callback) {
//   // 找出文件的绝对路径
//   const fullFileName = path.resolve(__dirname, 'files', fileName)
//   fs.readFile(fullFileName, (err, data) => {
//     if (err) {
//       console.error(err)
//       return
//     }
//     typeof callback === 'function' ? callback(data.toString()) : ''
//   })
// }
// getFileContent('a.json', (res) => {
//   res = JSON.parse(res)
//   getFileContent(res.next, (bData) => {
//     bData = JSON.parse(bData)
//     console.log('bData', bData)
//     getFileContent(res.next, (cData) => {
//       console.log('cData', cData)
//     })
//   })
// })

// promise获取文件内容
function getFileContent(fileName, callback) {
  return new Promise((resolve, reject) => {
    const fullFileName = path.resolve(__dirname, 'files', fileName)
    fs.readFile(fullFileName, (err, data) => {
      if (err) {
        reject(err)
        return
      }
      resolve(data.toString())
    })
  })
}
getFileContent('a.json').then(res => {
  res = JSON.parse(res)
  return getFileContent(res.next)
}).then((res) => {
  res = JSON.parse(res)
  return getFileContent(res.next)
}).then((res) => {
  res = JSON.parse(res)
  console.log('cdATA', res)
})